package org.lanqiao.tjut.dao.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.lanqiao.tjut.dao.IUserDao;
import org.lanqiao.tjut.orm.UsersEntity;

public class UserDaoImpl implements IUserDao {
	// 创建sessionFactory对象（spring依赖注入）
	private SessionFactory sessionFactory;

	public List<UsersEntity> selectUsersInfo4Login(UsersEntity userE) {
		// 查询用户登录信息
		// 查询指定表的所有数据内容
		// 获取session对象
		Session session = sessionFactory.getCurrentSession();
		StringBuilder sbHsql = new StringBuilder();
		// 拼写hql语句，使用占位符方式
		sbHsql.append("from ").append(userE.getClass().getName())
				.append(" where username = :username and userPsw=:userpsw ");
		// 设置查询参数
		Map mapParams = new HashMap();
		// 将占位符变量的值存入给查询参数map对象
		mapParams.put("username", userE.getUsername());
		mapParams.put("userpsw", userE.getUserPsw());
		Query query = session.createQuery(sbHsql.toString());
		// 设置查询参数map集合
		query.setProperties(mapParams);
		// 返回查询结果集
		return query.list();
	}

	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}

}
